1. Field of the Invention
The present invention relates to an FIR (Finite Impulse Response) filter of a DS-CDMA (Direct Sequence Code Division Multiple Access) UWB (Ultra Wide-Band) modem transmitter and a control method thereof, and more particularly, to an FIR filter of a DS-CDMA UWB modem transmitter and a control method thereof that can correspond to the data transmission rate of a UWB modem that has been proposed in the present standardization by designing the FIR filter having a low complexity and a high processing speed.
2. Background of the Related Art
As is well known, the standardization of a UWB (Ultra Wide-Band) system is in progress by IEEE (Institute of Electrical and Electronics Engineers) 802.15.3a (working group for wireless personal area network), and a DS-CDMA UWB system and an MB-OFDM (Multi-Band Orthogonal Frequency Division Multiple Access) UWB system are in competition for being adopted as the standard. The present invention refers to the transmitter design of the DS-CDMA transmission system of the above-described two transmission systems.
FIG. 1 is a functional block diagram illustrating the construction of a conventional DS-CDMA UWB modem transmitter. This conventional DS-CDMA UWB modem transmitter includes a data generator 2000 for receiving data generated and transferred from a MAC (Medium Access Control) unit (not illustrated) to a MAC interface 1000, performing a scrambling, convolutional encoding, interleaving, etc., of the data, and outputting the processed data to a symbol mapper 3000, a code set modulator 4000 for receiving resultant values of the symbol mapper 3000 and spreading the resultant values to ternary codes of a length L, and an FIR filter 5000 for receiving the spreading code signals from the code set modulator 4000, pulse-shaping the code signals, and outputting the pulse-shaped code signals to a DAC (Digital-to-Analog Converter) block 6000.
Generally, in designing the above-described FIR filter 5000, two methods for designing a module that processes results of convolution between a ternary spreading code and an FIR pulse-shaping filter coefficient may be used as follows.
The first method is a method of directly performing a convolution operation by inputting the ternary spreading code to the FIR filter 5000, and the second method is a method of implementing a digital modem transmitter in a manner that it calculates in advance the resultant values of convolution, stores the resultant values in an LUT (Look-Up Table) memory provided in the FIR filter 5000, and then refers to the stored resultant values of convolution.
However, since the former is not suitable for the DS-CDMA UWB system that requires a high-speed data process in consideration of the speed of convolution operation, the latter using the LUT is used to design the FIR filter of the transmitter in the UWB modem that requires a high-speed data process. As illustrated in FIG. 2, the transmitter is designed to have a parallel processing structure for a high-speed data process, and in this case, an awfully large amount of memory is required.
FIG. 2 is a block diagram illustrating an example of the structure of the FIR filter 5000 in the DS-CDMA UWB modem transmitter under the assumption that L=24 and k=4 in the case of 1:k interpolation. For the convenience in explanation, it is exemplified that the FIR filter has the structure in which L=24 and k=4, but it can be applied to all structures in which L≧1 and all structure in which k≧1. Here, the speed of an internal clock used to obtain the pulse-shaped ternary code LUT values is the speed of a symbol clock 5205. The ternary spreading code 5210 from the code set modulator 3000 in FIG. 1 is stored in a buffer 5220 having a 48-chip size after it is passed to the FIR filter 5000, and using values 5230 to 5234 of the ternary spreading code 5210 as address values of LUT memories, the pulse-shaped ternary code values previously stored in the LUT memories 5240 to 5244 are searched and sent as output values 5250 to 5254.
Here, the ternary code having the length of L=24 for a BPSK (Binary Phase Shift Keying) transmission is described in Table 1 below. As shown in Table 1, in the case of using a frequency band of 3 to 5 GHz, the DS-CDMA UWB system can construct 6 piconets at maximum using 6 spreading codes. Table 2 below describes a bit mapping method of the ternary code.
TABLE 1Code SetNumberL = 24 Codes1−1, 0, 1, −1, −1, −1, 1, 1, 0, 1, 1, 1, 1, −1, 1, −1, 1, 1, 1, −1, 1, −1, −1, 12−1, −1, −1, −1, 1, −1, 1, −1, 1, −1, −1, 1, −1, 1, 1, −1, −1, 1, 1, 0, −1, 0, 1, 13−1, 1, −1, −1, 1, −1, −1, 1, −1, 0, −1, 0, −1, −1, 1, 1, 1, −1, 1, 1, 1, −1, −1, −140, −1, −1, −1, −1, −1, −1, 1, 1, 0, −1, 1, 1, −1, 1, −1, −1, 1, 1, −1, 1, −1, 1, −1, 5−1, 1, −1, 1, 1, −1, 1, 0, 1, 1, 1, −1, −1, 1, 1, −1, 1, 1, 1, −1, −1, −1, 0, −160, −1, −1, 0, 1, −1, −1, 1, −1, −1, 1, 1, 1, 1, −1, −1, 1, −1, 1, −1, 1, 1, 1, 1
TABLE 2Ternary CodeBit Mapping000101−111Invalid10
Meanwhile, FIG. 3 illustrates a process of obtaining the pulse-shaped ternary code LUT resultant value 500 through the convolution operation of the ternary code input value 300 and the FIR filter coefficient values 400. The pulse-shaped ternary code LUT resultant value 500 is stored in advance in the LUT memory of the FIR filter at the stage of designing the transmitter, and accordingly, a high-speed parallel data process can be performed. In more detail, the pulse-shaped ternary LUT resultant value 500 is obtained by Equation (1).
                    g        =                              ∑                          m              =              0                                      N              -              1                                ⁢                                          ⁢                                    c                              N                -                1                -                m                                      ⁢                          w              m                                                          (        1        )            
Here, cN-1-m denotes the ternary code input value, wm the FIR filter coefficient value, N the size of the FIR filter used in the transmitter side, and g the pulse-shaped ternary LUT resultant value previously stored in the LUT memory when the transmitter is designed, respectively. For the convenience in explanation, it is assumed that k=1 in Equation (1).
The LUT resultant value obtained by Equation as above, for example, may be stored as respective values g1 and g2 in two LUT memories in consideration of the currently commercialized FPGA and the chip size as follows.
            g      1        =                  ∑                  m          =          0                                      N            /            2                    -          1                    ⁢                          ⁢                        c                      N            -            1            -            m                          ⁢                  w          m                                g      2        =                  ∑                  m          -                      N            /            2                                    N          -          1                    ⁢                          ⁢                        c                      N            -            1            -            m                          ⁢                  w          m                    
Table 3 below indicates a method of accessing a LUT memory using the ternary code input values in order to acquire the resultant values previously stored in the LUT memory. In Table 3, “address *” is expressed by a hexadecimal system, and “0x00˜0x0c” correspond to decimal numbers “0˜12”. Additionally, in “dij**”, “i” denotes an LUT memory address, and “j” denotes a phase. Accordingly, “dij” indicates the resultant value of convolution of a one-word size that corresponds to the j-th phase located in the i-th LUT memory address. Here, the word becomes different in accordance with the used DAC, and in the case of using a 6-bit DAC, one word refers to 6 bits.
TABLE 3Ternary codeCorrespondingAddress *Phase 0Phase 1Phase 2Phase 3two'sH2M2L2bitsof LUT(WRW0)(WRW1)(WRW2)(WRW3)complement000000000NON00000010000010x00d30** d01d02d03No00−1000010Yes0100001000x01d10d11d12d13No0−10001100Yes0110001010x02d20d21d22d23No0−1−1001111Yes01−10001110x03d30d31d32d33No0−11001101Yes1000100000x04d40d41d42d43No−100110000Yes1010100010x05d50d51d52d53No−10−1110011Yes10−10100110x06d60d61d62d63No−101110001Yes1100101000x07d70d71d72d73No−1−10111100Yes1110101010x08d80d81d82d83No−1−1−1111111Yes11−10101110x09d90d91d92d93No−1−11111101Yes1−100111000x0ada0da1da2da3No−110110100Yes1−110111010x0bdb0db1db2db3No−11−1110111Yes1−1−10111110x0cdc0dc1dc2dc3No−111110101Yes
FIG. 4 shows an example of the FIR filter having filter coefficients that correspond to 6 symbol periods. Although the present invention is applicable to all cases using two or more taps, the FIR filter that has 24 taps and performs a 1:4 interpolation is illustrated FIG. 4 as an example. As shown in FIG. 4, in the case of performing the 1:4 interpolation, four phases 400 to 430 and 450 to 480 exist in one symbol. The term ‘w(23)’ indicates the earliest filter coefficient value, and ‘w(00)’ indicates the latest filter coefficient value.
FIG. 5 is a functional block diagram illustrating the construction of an FIR filter in the conventional DS-CDMA UWB modem transmitter designed as above. As illustrated in FIG. 5, the internal operation clock used to obtain the pulse-shaped ternary code LUT values is a symbol clock 5305. Data values are searched and obtained by phases with reference to the LUT memory values 5321 to 5324 previously calculated and stored in the manner as described above with reference to FIG. 3 using the 6-bit data corresponding to upper three chips H2, M2 and L2 among the input values 5310 transferred from the ternary spreading code buffer 5220 of FIG. 2 as the LUT memory address values. Simultaneously, the previously calculated and stored LUT memory values 5331 to 5343 are searched and obtained by phases using the 6-bit data corresponding to lower three chips H, M and L as the LUT memory address values. The two values obtained by phases are added together by adders 5340 to 5343 to calculate and transfer the final pulse-shaped ternary code values 5350 to 5353 to the DAC block 6000.
FIG. 6 is a functional block diagram illustrating the construction of another FIR filter in the conventional DS-CDMA UWB modem transmitter designed as above. As illustrated in FIG. 6, the internal operation clock used to obtain the pulse-shaped ternary code LUT values is a clock 5405 the speed of which is twice the speed of the symbol clock 5305. The construction of FIG. 6 can be adopted only in the case that the coefficients of the FIR filter 5000 have a symmetric form on the basis of the center pulse. At the odd-numbered clocks 5440 to 5444 of the internal operation clock signal, data values are obtained by phases with reference to the LUT memory values 5421 to 5424 previously calculated and stored in the manner as described above with reference to FIG. 3 using the 6-bit data corresponding to the upper three chips H2, M2 and L2 among the input values 5410 transferred from the ternary spreading code buffer 5220 of FIG. 2 as the LUT memory address values, and the obtained values are stored in adders 5470 to 5473. Meanwhile, at the even-numbered clocks 5450 to 5454 of the internal operation clock signal, the lower three chips H, M and L are arrange in reverse order 5430, and then the LUT memory values 5421 to 5424 previously calculated and stored are obtained by phases using the 6-bit data corresponding to the lower three chips H, M and L. At the even-numbered clocks, the values obtained at the odd-numbered clocks and stored in the adders 5470 to 5473 and the resultant values obtained at the even-numbered clocks are added by phases by the adders 5470 to 5473 to calculate and transfer the final pulse-shaped ternary code values 5480 to 5483 to the DAC block 6000 of FIG. 1.
However, in designing the FIR filters in the conventional DS-CDMA UWB modem transmitter as illustrated in FIGS. 5 and 6, since all the input values of the ternary code are used as the address values, the unnecessary waste of memory occurs. In particular, since the construction of FIG. 6 requires an awfully large amount of memory for the LUT, the processing speed of the system becomes relatively slow, so that the FIR filter cannot correspond to the data transmission rate of the UWB modem currently proposed as the standard and cannot contribute to the adoption of the standardization.